﻿
#include <vector>
using namespace std;

class Solution {
public:
    int findKthPositive(vector<int>& arr, int k) {
        int count = 0;  // 记录已找到的缺失数数量
        int i = 0;      // 数组当前索引
        int current = 1; // 当前检查的正整数

        while (i < arr.size()) {
            if (current == arr[i]) {
                // 当前数在数组中，检查下一个数
                i++;
                current++;
            }
            else {
                // 当前数是缺失的
                count++;
                if (count == k) {
                    // 找到第k个缺失数
                    return current;
                }
                current++;
            }
        }

        return (current - 1) + (k - count);
    }
};
int main() {
    vector<int> arr = { 2, 3, 4, 7, 11 };
    int k = 5;
    Solution sol;
    int result = sol.findKthPositive(arr, k);
    // 输出结果，这里可以根据需要进行输出操作
    return 0;
}